#ifndef UTIL_H
#define UTIL_H
#include<iostream>
#include<vector>
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
class FileUtil
{
public:
    FileUtil(const std::string &filename);
    // 获取文件大小
    size_t FileSize();
    // 获取文件最后一次修改的时间
    time_t LastMTime();
    // 获取最后一次访问时间
    time_t LastAtime();
    // 获取文件名
    std::string FileName();
    // 向文件写入数据
    bool SetContent(const std::string &body);
    // 获取文件指定位置开始的指定长度数据
    bool GetPosLen(std::string *body, size_t pos, size_t len);
    //获取文件内容
    bool GetContent(std::string *body);
    // 判断文件是否存在
    bool Exists();
    // 创建目录
    bool CreateDir();
    // 遍历目录，获取目录下的所有文件(绝对路径)
    bool ScanDir(std::vector<std::string> *arr);
    // 删除文件
    bool Remove();
private:
    const std::string _filename;
};

#endif // UTIL_H
